package com.jyxd.web.hiscz.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.jyxd.web.hiscz.dto.advice.OrderGroupDto;
import com.jyxd.web.hiscz.dto.checkout_report.*;
import com.jyxd.web.hiscz.dto.patient.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;


@ApiModel("接收实体body")
@Data
public class BodyDto {

    @JsonProperty(value = "Event")
    @ApiModelProperty("事件")
    private EventDto event;

    @JsonProperty(value = "Demography")
    @ApiModelProperty("患者基本信息")
    private DemographyDto demography;

    @JsonProperty(value = "PatientVisit")
    @ApiModelProperty("患者就诊信息")
    private PatientVisitDto patientVisit;

    // 患者请求。转科请求
    @JsonProperty(value = "ObservationResultList")
    @ApiModelProperty("项目信息：如果为患者接口请求则标识：新生儿出生信息标识" +
            "Identifier ：BirthWeight,AdmitWeight,Height" +
            "Text : 新生儿出生体重,新生儿入院体重,新生儿出生身高"+
            "如果为检查信息，则内容为图片路径，ObservationValue 为查看图片路径")
    private List<ObservationResultDto> observationResultList;

    @JsonProperty(value = "NextOfKinList")
    @ApiModelProperty("联系人信息列表")
    private List<NextOfKinDto> extOfKinList;

    @JsonProperty(value = "DiagnosisList")
    @ApiModelProperty("诊断信息列表")
    private List<DiagnosisDto> diagnosisList;

    @JsonProperty(value = "AllergyList")
    @ApiModelProperty("过敏源种类列表")
    private List<AllergyDto> allergyList;

    @JsonProperty(value = "Insurance")
    @ApiModelProperty("医保信息")
    private InsuranceDto Insurance;

    @JsonProperty(value = "Surgery")
    @ApiModelProperty("手术信息")
    private SurgeryDto surgery;

    //医嘱请求
    @JsonProperty(value = "OrderGroupList")
    @ApiModelProperty("医嘱信息列表")
    private List<OrderGroupDto> orderGroupList;

    //检查报告
    @JsonProperty(value = "OrderDetail")
    @ApiModelProperty("检验科室，医生列表")
    private OrderDetailDto orderDetail;

    @JsonProperty(value = "Report")
    @ApiModelProperty("报告单信息")
    private ReportDto report;

    //检验报告
    @JsonProperty(value = "Apply")
    @ApiModelProperty("检验详细信息")
    private ApplyDto apply;
}
